package com.itdl.fastdfs.demo;

import org.csource.common.MyException;
import org.csource.common.NameValuePair;
import org.csource.fastdfs.ClientGlobal;
import org.csource.fastdfs.StorageClient1;
import org.csource.fastdfs.TrackerClient;
import org.csource.fastdfs.TrackerServer;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;

/**
 * @author: itdl
 * @date: 2022/3/7 12:09
 * @description: 测试下载
 * @version: 1.0
 */
public class TestDownload {
    public static void main(String[] args) throws IOException, MyException {
        // 1、加载配置文件
        ClientGlobal.initByProperties("fastdfs.properties");
        // 2、创建一个tracker客户端，用于获取跟踪服务器
        TrackerClient trackerClient = new TrackerClient();
        TrackerServer trackerServer = trackerClient.getConnection();

        // 3、使用tracker server获取一个storage客户端, 此时还没有获取到storage server
        StorageClient1 storageClient = new StorageClient1(trackerServer, null);

        // 4、下载文件
        // 就是我们上传之后返回的文件id
        String fileId = "group1/M00/00/00/wKj0gGIlh-WALCshAABDhrJAkTU644.jpg";
        byte[] bytes = storageClient.download_file1(fileId);

        // 5、将字节流写到文件
        FileOutputStream outputStream = new FileOutputStream(new File("F:\\new\\download.jpg"));
        // 写入后关闭流
        outputStream.write(bytes);
        outputStream.close();
    }
}
